#include <REGX52.H>
#include "DELAY.h"

sbit SRCLK=P3^6;
sbit RCK=P3^5;
sbit SER=P3^4;

void LED_Matrix(unsigned char location,unsigned char date)
{
	unsigned char i;
	SRCLK=0;
	RCK=0;

	for(i=0;i<8;i++)
	{
		SER=date&(0x80>>i);//取出第一位（DPH）,把8位数据赋给一位，非0即1。 1010 1010&(1000 0000>>i)
		SRCLK=1;//上升沿移位
		SRCLK=0;//移位成功后置0
	} 
		
	RCK=1;//上升沿锁存
	RCK=0;//锁存成功后置0
	
	P0=~(0x80>>(location-1));//每一竖列,当location=1时，
	Delay(2);
	P0=0xff;//消除阴影，防止段选位选重叠
}